import axios from "axios";
import platform from "platform";
import CryptoJS from "crypto-js";

// 用于加密和解密的密钥，建议使用环境变量来存储密钥
const SECRET_KEY = "29C3641A-2EA1-C7C1-4364-08EDCFD067CE";

// 加密数据
export function encryptData(data) {
  return CryptoJS.AES.encrypt(JSON.stringify(data), SECRET_KEY).toString();
}

// 解密数据
export function decryptData(encryptedData) {
  const bytes = CryptoJS.AES.decrypt(encryptedData, SECRET_KEY);
  const decryptedData = bytes.toString(CryptoJS.enc.Utf8);
  return JSON.parse(decryptedData);
}

// 存储加密数据到 localStorage
export function setEncryptedData(key, data) {
  const encryptedData = encryptData(data);
  localStorage.setItem(key, encryptedData);
}

// 从 localStorage 获取并解密数据
export function getEncryptedData(key) {
  const encryptedData = localStorage.getItem(key);
  if (encryptedData) {
    return decryptData(encryptedData);
  }
  return null; // 如果没有数据则返回 null
}

export const getDetailedInfo = () => {
  return {
    os: platform.os.toString(), // 操作系统
    browser: platform.name, // 浏览器名称
    browserVersion: platform.version, // 浏览器版本
    device: platform.product, // 设备（如果有）
  };
};
export const getIpAddress = async () => {
  try {
    const response = await axios.get("https://api.ipify.org?format=json");
    return response.data.ip;
  } catch (error) {
    console.error("Error fetching IP address:", error);
    return null;
  }
};
